using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace RiceShop.Models
{
    /// <summary>
    /// 菜单实体类
    /// </summary>
    [Table("SysMenu")]
    public class Menu
    {
        /// <summary>
        /// 菜单ID
        /// </summary>
        [Key]
        [Column("numeId")]
        public long menuId { get; set; }

        /// <summary>
        /// 父菜单ID
        /// </summary>
        [Column("menuParentID")]
        public long menuParentId { get; set; }

        /// <summary>
        /// 菜单编码
        /// </summary>
        [Column("menuIdCode")]
        [StringLength(100)]
        public string? menuIdCode { get; set; }

        /// <summary>
        /// 菜单名称
        /// </summary>
        [Column("menuName")]
        [StringLength(100)]
        public string? menuName { get; set; }

        /// <summary>
        /// 菜单图标
        /// </summary>
        [Column("menuIcon")]
        [StringLength(100)]
        public string? menuIcon { get; set; }

        /// <summary>
        /// 菜单路径
        /// </summary>
        [Column("menuPath")]
        [StringLength(100)]
        public string? menuPath { get; set; }

        /// <summary>
        /// 菜单组件
        /// </summary>
        [Column("menuComponent")]
        [StringLength(100)]
        public string? menuComponent { get; set; }

        /// <summary>
        /// 菜单类型
        /// </summary>
        [Column("menuType")]
        public int menuType { get; set; }

        /// <summary>
        /// 排序号
        /// </summary>
        [Column("menuSortNo")]
        public int? menuSortNo { get; set; }

        /// <summary>
        /// 权限标识
        /// </summary>
        [Column("menuAuthority")]
        [StringLength(100)]
        public string? menuAuthority { get; set; }

        /// <summary>
        /// 打开方式
        /// </summary>
        [Column("menuTarget")]
        [StringLength(100)]
        public string? menuTarget { get; set; }

        /// <summary>
        /// 图标颜色
        /// </summary>
        [Column("menuIconColor")]
        [StringLength(50)]
        public string? menuIconColor { get; set; }

        /// <summary>
        /// 是否隐藏
        /// </summary>
        [Column("menuHide")]
        public bool menuHide { get; set; }

        /// <summary>
        /// 是否删除
        /// </summary>
        [Column("menuDeleted")]
        public bool menuDeleted { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [Column("menuCtime")]
        public DateTime menuCtime { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        [Column("menuUtime")]
        public DateTime? menuUtime { get; set; }
    }
}
